/* eslint-disable @typescript-eslint/no-unused-vars */

import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import Components from 'unplugin-vue-components/vite'
import { VantResolver } from 'unplugin-vue-components/resolvers'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    vueJsx(),
    //  按需引入vant组件和样式
    Components({ resolvers: [VantResolver()] })
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  build: {
    outDir: './dist',
    rollupOptions: {
      input: './index.html',
      output: {
        // app
        entryFileNames(chunk) {
          return 'static/js/app-[hash].js'
        },
        // async chunk
        chunkFileNames(chunk) {
          return 'static/js/chunk-[hash].js'
        },
        // 静态资源
        assetFileNames(chunkInfo) {
          return 'static/[ext]/[name].[hash].ext'
        }
      }
    }
  }
})
